package arrayList;

//目标：掌握从集合容器中找数据并删除的技巧

import java.util.ArrayList;

public class ArrayListText1 {
    public static void main(String[] args) {
        //创建一个ArrayList集合对象
        ArrayList<String> list = new ArrayList<>();
        list.add("java入门");
        list.add("宁夏枸杞");
        list.add("黑枸杞");
        list.add("人字拖");
        list.add("特级枸杞");
        list.add("枸杞子");
        System.out.println(list);
        //

        //遍历每个数据，只要这个数据包含了“枸杞”就删除他
 /*       for (int i = 0; i < list.size(); i++) {
            String els = list.get(i);
        if(els.contains("枸杞")){
            //直接从集合中删除该数据
            list.remove(els);
        }
        }
        System.out.println(list);   //得到[java入门, 黑枸杞, 人字拖, 枸杞子]，没有删除干净是因为遍历之后就到下一个，在当前位置的i就会继续往下走
*/

        //方法一：每次删除数据后，就让i往左边退一步
  /*      for (int i = 0; i < list.size(); i++) {
            String els = list.get(i);
            if (els.contains("枸杞")) {
                //直接从集合中删除该数据
                list.remove(els);
                i--;
            }
        }
        System.out.println(list); //这样就被删除啦*/

        //方法二  从后面开始遍历就不会漏
        for (int i = list.size() - 1; i >= 0; i--) {

            String els = list.get(i);
            if (els.contains("枸杞")) {
                //直接从集合中删除该数据
                list.remove(els);
            }
        }
        System.out.println(list);
    }
}